home *** CD-ROM | disk | FTP | other *** search
/ Windows Expert / Windows Expert.iso / program / wthrds.zip / THRDAPI.H < prev    next >
C/C++ Source or Header  |  1992-05-29  |  3KB  |  101 lines

  1. #if !defined ( __THREADAPI)
  2. #define __THREADAPI
  3.  
  4. #if !defined ( __WINDOWS_H ) && !defined ( _INC_WINDOWS_H)
  5. #include <windows.h>
  6. #endif /* __WINDOWS_H */
  7.  
  8. /********************************************************************
  9.  *                   Threads Utilities For Windows                  *
  10.  *                              API Unit                            *
  11.  ********************************************************************
  12.  *       Copyright 1992 Robert Salesas, All Rights Reserved         *
  13.  ********************************************************************
  14.  *      Version: 1.00             Author:  Robert Salesas           *
  15.  *      Date:    30-Jan-1992      Changes: Original                 *
  16.  *                                                                  *
  17.  *      Version: 1.00             Author:  Sylvain Tremblay         *
  18.  *      Date:    24-Feb-1992      Changes: Pascal to C convertion   *
  19.  *                                                                  *
  20.  ********************************************************************/
  21.  
  22. typedef BYTE *PThreadRec;
  23. typedef FARPROC PThreadFunc;
  24.  
  25. #define   TM_USER   0x0100         /* Starting user message to pass to a thread */
  26. #define TM_RSV00    0x0000         /* RESERVED: Used to allow CATCH one pass only */
  27. #define TM_QUIT     0x0001         /* Thread has ended or must end */
  28. #define TM_CONTINUE 0x0002         /* Thread can continue or is continuing */
  29. #define TM_PAUSED   0x0003         /* Thread is currently paused */
  30.  
  31. #define TS_DEFTIMESLICE  50        /* Default time slice */
  32. #define TS_DEFPRIORITY  100        /* Default thread priority */
  33.  
  34.  
  35. WORD FAR PASCAL GetThrdUtlsVersion();
  36.   /* Returns major revision in high byte, minor revision in low byte. */
  37.   /* Index 100 */
  38.  
  39. WORD FAR PASCAL GetNumThreads(VOID);
  40.   /* Index 110; */
  41.  
  42. VOID FAR PASCAL SetThrdUtlsTimeSlice(WORD ATimeSlice);
  43.   /* Index 120; */
  44.  
  45.  
  46.  
  47. PThreadRec FAR PASCAL CreateThread(PThreadFunc ThreadFunc, WORD StackSize,
  48.                HWND Wnd, WORD wParam, LONG lParam);
  49.   /* Index 200; */
  50.  
  51. VOID FAR PASCAL DisposeThread(PThreadRec *Thread);
  52.   /* Index 210; */
  53.  
  54. WORD FAR PASCAL ExecThread(PThreadRec Thread);
  55.   /* Index 220; */
  56.  
  57. WORD FAR PASCAL YieldThread(VOID);
  58.   /* Index 230; */
  59.  
  60. VOID FAR PASCAL ExitThread(VOID);
  61.   /* Index 240; */
  62.  
  63. VOID FAR PASCAL TerminateThread(PThreadRec Thread);
  64.   /* Index 250; */
  65.  
  66. VOID FAR PASCAL SetThreadPriority(PThreadRec Thread, WORD Priority);
  67.   /* Index 260; */
  68.  
  69. VOID FAR PASCAL SetThreadPause(PThreadRec Thread, BOOL Paused);
  70.   /* Index 270; */
  71.  
  72. BOOL FAR PASCAL IsThreadPaused(PThreadRec Thread);
  73.   /* Index 280; */
  74.  
  75. BOOL FAR PASCAL IsThreadFinished(PThreadRec Thread);
  76.   /* Index 290; */
  77.  
  78.  
  79.  
  80. BOOL FAR PASCAL AddThread(PThreadRec Thread);
  81.   /* Index 300; */
  82.  
  83. VOID FAR PASCAL RemoveThread(PThreadRec Thread);
  84.   /* Index 310; */
  85.  
  86. PThreadRec FAR PASCAL StartThread(PThreadFunc ThreadFunc, WORD StackSize,
  87.                  HWND Wnd, WORD wParam, LONG lParam);
  88.   /* Index 320; */
  89.  
  90. VOID FAR PASCAL EndThread(PThreadRec *Thread);
  91.   /* Index 330; */
  92.  
  93. VOID FAR PASCAL ExecTaskThreads(HANDLE Task);
  94.   /* Index 340; */
  95.  
  96. VOID FAR PASCAL EndTaskThreads(HANDLE Task);
  97.   /* Index 350; */
  98.  
  99.  
  100. #endif
  101.